using System;
using System.Reflection;

internal class Class20<T> : Interface1
{
	private Func<T> func_0;

	public Class20(PropertyInfo propertyInfo_0)
	{
		if (propertyInfo_0 == null)
		{
			throw new ArgumentNullException("propertyInfo");
		}
		if (!propertyInfo_0.CanRead)
		{
			throw new InvalidOperationException("属性不支持读操作。");
		}
		MethodInfo getMethod = propertyInfo_0.GetGetMethod(true);
		this.func_0 = (Func<T>)Delegate.CreateDelegate(typeof(Func<T>), getMethod);
	}

	public T method_0()
	{
		return this.func_0();
	}

	object Interface1.imethod_0(object object_0)
	{
		return this.func_0();
	}
}
